home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / editors / emacs / lemacs_1 / lemacs_1.rea < prev    next >
Encoding:
Text File  |  1994-06-02  |  29.4 KB  |  699 lines

  1. Lucid GNU Emacs 19.10 is now available.  This is a version of GNU Emacs 
  2. derived from Emacs version 19 from the Free Software Foundation.
  3.  
  4. (If you are already a user of version 19.9, you might want to skip ahead to
  5. the section labeled "Differences Between 19.9 and 19.10".)
  6.  
  7. You can get it via anonymous FTP from LUCID.COM (192.43.175.3).
  8.  
  9. Log in with the user "anonymous" and "username@host" as a password (that is,
  10. your email address.)  Execute the command "cd /pub/lemacs/".  There you will
  11. find a number of files, only a subset of which you need.
  12.  
  13. LUCID.COM is the canonical distribution point, but has a rather slow internet
  14. connection; you may want to get it from one of the better-connected mirror
  15. sites instead, such as:
  16.  
  17.     cs.uiuc.edu             /pub/epoch-files/lemacs/
  18.     self.stanford.edu         /pub/lemacs/
  19.     ftp.uu.net             /systems/gnu/lucid/
  20.     ftp.ai.mit.edu             /pub/lemacs/
  21.     src.doc.ic.ac.uk         /gnu/lucid/
  22.     ftp.germany.eu.net         /pub/packages/lucid-emacs/
  23.     ftp.uni-erlangen.de         /pub/lemacs/
  24.     ftp.th-darmstadt.de         /pub/editors/GNU-Emacs/unix/Lucid-Emacs/
  25.     ftp.cenatls.cena.dgac.fr     /pub/Emacs/lemacs/
  26.     liasun3.epfl.ch             /pub/gnu/lemacs/
  27.     ftp.sunet.se             /pub/gnu/lucid/lemacs/
  28.     ftp.technion.ac.il         /pub/unsupported/gnu/lucid-emacs/
  29.     audrey.levels.unisa.edu.au   /lemacs/
  30.     ftp.center.osaka-u.ac.jp     /lucid-emacs/
  31.  
  32. There are three types of tar files which comprise the lemacs distribution:
  33.  
  34.  - A tar file containing a source tree, for building lemacs from scratch;
  35.  - A tar file containing the architecture-independent parts of a lemacs
  36.    installation tree (which contains only those files which are needed 
  37.    at run-time, and excludes much of the source code);
  38.  - And several tar files containing the architecture-dependent parts of
  39.    a lemacs installation tree (the executables themselves.)
  40.  
  41. If you intend to build lemacs from source, all you need is the single source
  42. distribution tar file.
  43.  
  44. If you intend to install the precompiled binaries for a single architecture,
  45. then you need two tar files: both the architecture-independent and the 
  46. architecture-dependent parts of the installation tree.  
  47.  
  48. If you intend to install the precompiled binaries for more than one
  49. architecture, then you need three or more tar files: the single tar file of
  50. the architecture-independent parts of the installation tree, and the tar
  51. files of the architecture-dependent parts for the architectures you want.
  52.  
  53.   README
  54.     This file.
  55.  
  56.   lemacs-19.10.tar.gz
  57.     The complete source distribution.  This file is about 8 megabytes.
  58.     When unpacked, the source distribution will take up about 30 megs.
  59.     You will need an additional 12 megs or so to compile it.
  60.  
  61.   README.executables
  62.     Installation instructions for the precompiled binaries.
  63.     It's important that you read this before unpacking the executables.
  64.  
  65.   lemacs-19.10-common.tar.gz
  66.     This contains the architecture-independent parts of the installation
  67.     tree.  If you intend to build emacs from scratch, you do not need this
  68.     file: it contains a subset of the files included in lemacs-19.10.tar.gz
  69.     but arranged in a different directory structure (the files are arranged
  70.     as an installation tree rather than a build tree.)  If you intend to
  71.     install the precompiled binaries, you need this file in addition to
  72.     the binary kit(s).
  73.  
  74.   lemacs-19.10-sparc-sun-sunos4.1.3.tar.gz
  75.     This contains a set of ready-to-run executables for SunOS 4.1.3.
  76.     NOTE: you need to get lemacs-19.10-common.tar.gz as well for these
  77.     to work.  See README.executables.
  78.  
  79.   lemacs-19.10-sparc-sun-sunos4.1.3-energize.tar.gz
  80.     This contains a set of ready-to-run executables for SunOS 4.1.3, plus
  81.     support for Lucid's Energize development environment.  If you do not
  82.     own Energize, then these binaries do not add any features that you can
  83.     take advantage of.  You should probably use the other set of sun4
  84.     binaries instead, since these are larger.  (Energize users should
  85.     treat the Energize support in 19.10 as a BETA release.)
  86.     NOTE: you need to get lemacs-19.10-common.tar.gz as well for these
  87.     to work.  See README.executables.
  88.  
  89.   lemacs-19.10-sparc-sun-solaris2.3.tar.gz
  90.     This contains a set of ready-to-run executables for SunOS 5.3, also
  91.     known as Solaris 2.3. NOTE: you need to get lemacs-19.10-common.tar.gz
  92.     as well for these to work.  See README.executables.
  93.  
  94.   lemacs-19.10-m68k-hp-hpux.tar.gz
  95.     Executables for HP9000/300 and HP9000/400 with HPUX 8 or 9.
  96.  
  97.   lemacs-19.10-hppa1.1-hp-hpux.tar.gz
  98.     Executables for HP9000/7xx and HP9000/9xx with HPUX 8.
  99.  
  100.   lemacs-19.10-hppa1.1-hp-hpux9.tar.gz
  101.     Executables for HP9000/7xx and HP9000/8xx with HPUX 9.
  102.  
  103.   lemacs-19.10-mips-sgi-irix4.0.5F.tar.gz
  104.     Executables for Irix 4.x.
  105.  
  106.   lemacs-19.10-mips-sgi-irix5.2.tar.gz
  107.     Executables for IRIX 5.x.
  108.  
  109.   lemacs-19.10-rs6000-ibm-aix3.2.tar.gz
  110.     Executables for AIX 3.2.4 and 3.2.5.
  111.  
  112.   lemacs-19.10-mips-dec-ultrix4.3.tar.gz
  113.     Executables for Ultrix 4.3.
  114.  
  115.   lemacs-19.10-alpha-dec-osf2.0.tar.gz
  116.     Executables for Dec Alpha OSF 2.0.
  117.  
  118.   lemacs-19.10-i386-bsdi-bsd386.tar.gz
  119.     Executables for BSD/386 1.0.
  120.  
  121.   lemacs-19.10-i486-unknown-linux-motif.tar.gz
  122.     Executables for Linux, using the Motif toolkit.
  123.  
  124.   lemacs-19.10-i486-unknown-linux-athena3d.tar.gz
  125.     Executables for Linux, using the 3d Athena toolkit.
  126.  
  127.   xpm-3.4a.tar.gz
  128.     The XPM library (optional, but recommended.)
  129.  
  130.   gzip-1.2.4.tar.Z
  131.     The GNU compression utility; needed to unpack `.gz' files.  You can
  132.     get the latest version of this from any of the GNU mirror sites.
  133.  
  134. Don't forget to set "binary" mode when transferring these files.  Unpack them
  135. with some variation of the command "gzip -dc lemacs-19.10.tar.gz | tar -pxf -".
  136.  
  137. You can purchase Lucid Emacs tapes and manuals directly from Lucid.  
  138. Call (800) 223-9322 or send mail to lucid-info@lucid.com for current
  139. pricing, media, and platform information.
  140.  
  141. In addition, Sun Microsystems provides a pre-compiled version with extended
  142. functionality for working with SPARCworks.  This version is available via
  143. anonymous ftp at ftp.cs.uiuc.edu:/pub/xemacs.  To build the regular 19.10
  144. distribution with SPARCworks support include the `--with-sparcworks' flag
  145. when running configure.
  146.  
  147. We have created two mailing lists for discussing Lucid Emacs.
  148.  
  149.    bug-lucid-emacs@lucid.com    For reporting all bugs in Lucid GNU Emacs,
  150.                 including bugs in the compilation and
  151.                 installation procedures.
  152.  
  153.    help-lucid-emacs@lucid.com    For random questions and conversation
  154.                 about using Lucid GNU Emacs.
  155.  
  156. To be added or removed from these mailing lists, send mail to 
  157. bug-lucid-emacs-request@lucid.com or help-lucid-emacs-request@lucid.com.
  158. (Send all administrative requests, and only administrative requests, to
  159. these addresses.)
  160.  
  161. The bug-lucid-emacs and help-lucid-emacs mailing lists are archived on
  162. lucid.com in the directory /pub/mlists/, and are bidirectionally gatewayed
  163. into the newsgroups alt.lucid-emacs.bug and alt.lucid-emacs.help.
  164.  
  165. Please use the newsgroups instead of the mailing lists if at all possible;
  166. it makes less work for us.
  167.  
  168. Do not send messages about problems with Lucid Emacs to the FSF GNU Emacs
  169. newsgroups and mailing lists (help-gnu-emacs@prep.ai.mit.edu,
  170. bug-gnu-emacs@prep.ai.mit.edu, gnu.emacs.help, gnu.emacs.bug, et cetera)
  171. unless you are sure that the problem you are reporting is a problem with
  172. both versions of Emacs.
  173.  
  174.  
  175. Differences between Lucid Emacs 19 and FSF Emacs 19
  176. ===================================================
  177.  
  178. Pixmaps of arbitrary size can be embedded in a buffer.
  179.  
  180. Variable width fonts work.
  181.  
  182. The height of a line is the height of the tallest font (or pixmap) on that
  183. line, instead of all lines having the same height.
  184.  
  185. The programatic interface to the menubar is simpler and more powerful.
  186.  
  187. Lucid Emacs use the MIT "Xt" toolkit instead of raw Xlib calls, which makes it
  188. be a more well-behaved X citizen (and also improves portability).  A result of
  189. this is that it is possible to include other Xt "Widgets" in the Emacs window.
  190. Also, Emacs understands the standard Xt command-line arguments.
  191.  
  192. In Lucid Emacs, events are first-class objects.  FSF19 represents them as
  193. integers, which obscures the differences between a key gesture and the ancient
  194. ASCII code used to represent a particular overlapping subset of them.
  195.  
  196. In Lucid Emacs, keymaps are first-class opaque objects.  FSF19 represents them
  197. as complicated combinations of association lists and vectors.  If you use the
  198. advertised functional interface to manipulation of keymaps, the same code will
  199. work in Lucid Emacs, Emacs 18, and and FSF Emacs 19; if your code depends on
  200. the underlying implementation of keymaps, it will not.
  201.  
  202. Lucid Emacs provides support for ToolTalk on systems that have it.
  203.  
  204. The initial load-path is computed at run-time, instead of at compile-time.
  205. This means that if you move the Emacs executable and associated directories to
  206. somewhere else, you don't have to recompile anything.
  207.  
  208. If you're running on a machine with audio hardware, you can specify sound 
  209. files for Emacs to play instead of the default X beep.  See the documentation
  210. of the function load-sound-file and the variable sound-alist.
  211.  
  212. Lucid Emacs knows about timers directly, instead of them being simulated 
  213. by a subprocess.
  214.  
  215. You can specify what the title of the Emacs windows and icons should be
  216. with the variables `screen-title-format' and `screen-icon-title-format',
  217. which have the same syntax as `mode-line-format'.
  218.  
  219. An Emacs screen can be placed within an "external client widget" managed by
  220. another application.  This allows an application to use an Emacs screen as its
  221. text pane rather than the standard Text widget that is provided with Motif or
  222. Athena.  Emacs supports Motif applications, generic Xt (e.g. Athena)
  223. applications, and raw XLib applications.
  224.  
  225. Lucid Emacs calls a top-level emacs X window a "screen," which is the
  226. terminology that Epoch used.  FSF 19 calls these "frames."  We may adopt 
  227. the term "frame" as well, but we have not done so yet.
  228.  
  229. Lucid Emacs uses "extents" to represent all non-textual aspects of buffers;
  230. FSF 19 uses two distinct objects, "text properties" and "overlays", which
  231. divide up the functionality between them.  Extents are a superset of the
  232. functionality of the two FSF data types.  A large subset of the FSF 19 
  233. interface to text properties is supported in lemacs (with extents being the
  234. underlying representation.)
  235.  
  236. Extents can be made to be copied into strings, and thus restored by kill
  237. and yank.  Thus, one can specify this behavior on either "extents" or
  238. "text properties", whereas in FSF 19 text properties always have this
  239. behavior and overlays never do.
  240.  
  241. Lucid Emacs *currently* requires an X Window System environment to run,
  242. though it will not be much work to make it run on dumb ttys again.  We plan
  243. to do this, possibly soon.  If you would like to volunteer to help, send us
  244. mail.
  245.  
  246. Many useful third-party packages are shipped with the default distribution.
  247.  
  248. See the etc/NEWS file for more info.
  249.  
  250.  
  251. Major Differences Between 19.9 and 19.10
  252. ========================================
  253.  
  254. The GNU `configure' system is now used to build lemacs.
  255.  
  256. The Emacs Manual and Emacs Lisp Reference Manual now document version 19.10.
  257. If you notice any errors, please let us know.
  258.  
  259. When pixmaps are displayed in a buffer, they contribute to the line height -
  260. that is, if the glyph is taller than the rest of the text on the line, the
  261. line will be as tall as necessary to display the glyph.
  262.  
  263. An X window can be embedded in a buffer in the same way as a pixmap; external
  264. programs (such as GhostScript, or an MPEG player) can then render arbitrary
  265. graphics on that window.
  266.  
  267. In addition to using arbitrary sound files as emacs beeps, one can control
  268. the pitch and duration of the standard X beep, on X servers which allow that
  269. (Note: most don't.)
  270.  
  271. There is support for playing sounds on systems with NetAudio servers.
  272.  
  273. Minor modes may have mode-specific keybindings; keymaps may have an arbitrary
  274. number of parent maps.
  275.  
  276. Menus can have toggle and radio buttons in them.  There is an "options" menu
  277. that makes use of this.
  278.  
  279. There is a font selection menu.
  280.  
  281. ToolTalk support is provided.
  282.  
  283. An Emacs screen can be placed within an "external client widget" managed
  284. by another application.  This allows an application to use an Emacs screen
  285. as its text pane rather than the standard Text widget that is provided
  286. with Motif or Athena.
  287.  
  288. Some default keybindings have changed to match FSF19; the new bindings are
  289.  
  290.   Screen-related commands:
  291.     C-x 5 2            make-screen
  292.     C-x 5 0            delete-screen
  293.     C-x 5 b            switch-to-buffer-other-screen
  294.     C-x 5 f            find-file-other-screen
  295.     C-x 5 C-f        find-file-other-screen
  296.     C-x 5 m            mail-other-screen
  297.     C-x 5 o            other-screen
  298.     C-x 5 r            find-file-read-only-other-screen
  299.   Abbrev-related commands:
  300.     C-x a l            add-mode-abbrev
  301.     C-x a C-a        add-mode-abbrev
  302.     C-x a g            add-global-abbrev
  303.     C-x a +            add-mode-abbrev
  304.     C-x a i g        inverse-add-global-abbrev
  305.     C-x a i l        inverse-add-mode-abbrev
  306.     C-x a -            inverse-add-global-abbrev
  307.     C-x a e            expand-abbrev
  308.     C-x a '            expand-abbrev
  309.   Register-related commands:
  310.     C-x r C-SPC        point-to-register
  311.     C-x r SPC        point-to-register
  312.     C-x r j            jump-to-register
  313.     C-x r s            copy-to-register
  314.     C-x r x            copy-to-register
  315.     C-x r i            insert-register
  316.     C-x r g            insert-register
  317.     C-x r r            copy-rectangle-to-register
  318.     C-x r c            clear-rectangle
  319.     C-x r k            kill-rectangle
  320.     C-x r y            yank-rectangle
  321.     C-x r o            open-rectangle
  322.     C-x r t            string-rectangle
  323.     C-x r w            window-configuration-to-register
  324.   Narrowing-related commands:
  325.     C-x n n            narrow-to-region
  326.     C-x n w            widen
  327.   Other changes:
  328.     C-x 3            split-window-horizontally (was undefined)
  329.     C-x -            shrink-window-if-larger-than-buffer
  330.     C-x +            balance-windows
  331.  
  332. The variable allow-deletion-of-last-visible-screen has been removed, since 
  333. it was widely hated.  You can now always delete the last visible screen if
  334. there are other iconified screens in existence.
  335.  
  336. Additional compatibility with Epoch is provided (though this is not yet
  337. complete.)
  338.  
  339.  
  340. Major Differences Between 19.8 and 19.9
  341. =======================================
  342.  
  343. Scrollbars!  If you have Motif, these are real Motif scrollbars; otherwise,
  344. Athena scrollbars are used.  They obey all the usual resources of their
  345. respective toolkits.
  346.  
  347. There is now an implementation of dialog boxes based based on the Athena
  348. widgets, as well as the existing Motif implementation.
  349.  
  350. This release works with Motif 1.2 as well as 1.1.  If you link with Motif, 
  351. you do not also need to link with Athena.
  352.  
  353. If you compile lwlib with both USE_MOTIF and USE_LUCID defined (which is the
  354. recommended configuration) then the Lucid menus will draw text using the Motif
  355. string-drawing library, instead of the Xlib one.  The reason for this is that
  356. one can take advantage of the XmString facilities for including non-Latin1
  357. characters in resource specifications.  However, this is a user-visible change
  358. in that, in this configuration, the menubar will use the "*fontList" resource 
  359. in preference to the "*font" resource, if it is set.
  360.  
  361. It's possible to make extents which are copied/pasted by kill and undo.
  362. There is an implementation of FSF19-style text properties based on this.
  363.  
  364. There is a new variable, minibuffer-max-depth, which is intended to circumvent
  365. a common source of confusion among new Emacs users.  Since, under a window
  366. system, it's easy to jump out of the minibuffer (by doing M-x, then getting
  367. distracted, and clicking elsewhere) many, many novice users have had the
  368. problem of having multiple minibuffers build up, even to the point of
  369. exhausting the lisp stack.  So the default behavior is to disallow the
  370. minibuffer to ever be reinvoked while active; if you attempt to do so, you
  371. will be prompted about it.
  372.  
  373. There is a new variable, teach-extended-commands-p, which if set, will cause
  374. `M-x' to remind you of any keybindings of the command you just invoked the
  375. "long way."
  376.  
  377. There are menus in Dired, Tar, Comint, Compile, and Grep modes.
  378.  
  379. There is a menu of window management commands on the right mouse button over
  380. the modelines.
  381.  
  382. Popup menus now have titles at the top; this is controlled by the new 
  383. variable `popup-menu-titles'.
  384.  
  385. The `Find' key on Sun keyboards will search for the next (or previous)
  386. occurrence of the selected text, as in OpenWindows programs.
  387.  
  388. The `timer' package has been renamed to `itimer' to avoid a conflict with
  389. a different package called `timer'.
  390.  
  391. VM 5.40 is included.
  392.  
  393. W3, the emacs interface to the World Wide Web, is included.
  394.  
  395. Felix Lee's GNUS speedups have been installed, including his new version of
  396. nntp.el which makes GNUS efficiently utilize the NNTP XOVER command if
  397. available (which is much faster.)  
  398.  
  399. GNUS should also be much friendlier to new users: it starts up much faster,
  400. and doesn't (necessarily) subscribe you to every single newsgroup.
  401.  
  402. The byte-compiler issues a new class of warnings: variables which are
  403. bound but not used.  This is merely an advisory, and does not mean the
  404. code is incorrect; you can disable these warnings in the usual way with
  405. the `byte-compiler-options' macro.
  406.  
  407. the `start-open' and `end-open' extent properties, for specifying whether
  408. characters inserted exactly at a boundary of an extent should go into the
  409. extent or out of it, now work correctly.
  410.  
  411. The `extent-data' slot has been generalized/replaced with a property list,
  412. so it's easier to attach arbitrary data to extent objects.
  413.  
  414. The `event-modifiers' and `event-modifier-bits' functions work on motion
  415. events as well as other mouse and keyboard events.
  416.  
  417. Forms-mode uses fonts and read-only regions.
  418.  
  419. The behavior of the -geometry command line option should be correct now.
  420.  
  421. The `iconic' screen parameter works when passed to x-create-screen.
  422.  
  423. The user's manual now documents Lucid Emacs 19.9.
  424.  
  425. The relocating buffer allocator is turned on by default; this means that when
  426. buffers are killed, their storage will be returned to the operating system, 
  427. and the size of the emacs process will shrink.
  428.  
  429. CAVEAT: code which contains calls to certain `face' accessor functions will
  430. need to be recompiled by version 19.9 before it will work.  The functions
  431. whose callers must be recompiled are: face-font, face-foreground,
  432. face-background, face-background-pixmap, and face-underline-p.  The symptom
  433. of this problem is the error "Wrong type argument, arrayp, #<face ... >".
  434. The .elc files generated by version 19.9 will work in 19.6 and 19.8, but
  435. older .elc files which contain calls to these functions will not work in 19.9.
  436.  
  437. Work In Progress:
  438.  
  439.  - We have been in the process of internationalizing Lucid Emacs.  This code
  440.    is ***not*** ready for general use yet.  However, the code is included (and
  441.    turned off by default) in this release.
  442.  
  443.    - If you define I18N2 at compile-time, then sorting/collation will be done
  444.      according to the locale returned by setlocale().
  445.  
  446.    - If you define I18N3 at compile-time, then all messages printed by lemacs
  447.      will be filtered through the gettext() library routine, to enable the use
  448.      of locale-specific translation catalogues.  The current implementation of
  449.      this is quite dependent on Solaris 2, and has a very large impact on 
  450.      existing code, therefore we are going to be making major changes soon.
  451.      (You'll notice calls to `gettext' and `GETTEXT' scattered around much of
  452.      the lisp and C code; ignore it, this will be going away.)
  453.  
  454.    - If you define I18N4 at compile-time, then lemacs will internally use a
  455.      wide representation of characters, enabling the use of large character
  456.      sets such as Kanji.  This code is very OS dependent: it requires X11R5, 
  457.      and several OS-supplied library routines for reading and writing wide
  458.      characters (getwc(), putwc(), and a few others.)  Performance is also a
  459.      problem.  This code is also scheduled for a major overhaul, with the
  460.      intent of improving performance and portability.  
  461.  
  462.      Our eventual goal is to merge with MULE, or at least provide the same base
  463.      level of functionality.  If you would like to help out with this, let us 
  464.      know.
  465.  
  466.  - Other work-in-progress includes Motif drag-and-drop support, ToolTalk 
  467.    support, and support for embedding an Emacs widget inside another 
  468.    application (where it can function as that other application's text-entry
  469.    area).  This code has not been extensively tested, and may (or may not)
  470.    have portability problems, but it's there for the adventurous.  Comments, 
  471.    suggestions, bug reports, and especially fixes are welcome.  But have no
  472.    expectations that this experimental code will work at all.
  473.  
  474.  
  475. Major Differences Between 19.6 and 19.8
  476. =======================================
  477.  
  478. There were almost no differences between versions 19.6 and 19.7; version 19.7
  479. was a bug-fix release that was distributed with Energize 2.1.
  480.  
  481. Lucid Emacs 19.8 represents the first stage of the Lucid Emacs/Epoch merger.
  482. The redisplay engine now in lemacs is an improved descendant of the Epoch
  483. redisplay.  As a result, many bugs have been eliminated, and several disabled
  484. features have been re-enabled.  Notably:
  485.  
  486. Selective display (and outline-mode) work.
  487.  
  488. Horizontally split windows work.
  489.  
  490. The height of a line is the height of the tallest font displayed on that line;
  491. it is possible for a screen to display lines of differing heights. (Previously,
  492. the height of all lines was the height of the tallest font loaded.)
  493.  
  494. There is lisp code to scale fonts up and down, for example, to load the next-
  495. taller version of a font.
  496.  
  497. There is a new internal representation for lisp objects, giving emacs-lisp 28
  498. bit integers and a 28 bit address space, up from the previous maximum of 26.
  499. We expect eventually to increase this to 30 bit integers and a 32 bit address
  500. space, eliminating the need for DATA_SEG_BITS on some architectures.  (On 64
  501. bit machines, add 32 to all of these numbers.)
  502.  
  503. GC performance is improved.
  504.  
  505. Various X objects (fonts, colors, cursors, pixmaps) are accessible as first-
  506. class lisp objects, with finalization.
  507.  
  508. An alternate interface to embedding images in the text is provided, called
  509. "annotations."  You may create an "annotation margin" which is whitespace at
  510. the left side of the screen that contains only annotations, not buffer text.
  511.  
  512. When using XPM files, one can specify the values of logical color names to be
  513. used when loading the files.
  514.  
  515. It is possible to resize windows by dragging their modelines up and down.  More
  516. generally, it is possible to add bindings for mouse gestures on the modelines.
  517.  
  518. There is support for playing sound files on HP machines.
  519.  
  520. ILISP version 5.5 is included.
  521.  
  522. The Common Lisp #' read syntax is supported (#' is to "function" as ' is to
  523. "quote".)
  524.  
  525. The `active-p' slot of menu items is now evaluated, so one can put arbitrary
  526. lisp code in a menu to decide whether that item should be selectable, rather
  527. than doing this with an `activate-menubar-hook'.
  528.  
  529. The X resource hierarchy has changed slightly, to be more consistent.  It used
  530. to be
  531.      argv[0]            SCREEN-NAME    pane    screen
  532.       ApplicationShell    EmacsShell    Paned    EmacsScreen
  533.  
  534.    now it is
  535.  
  536.     argv[0]            shell        pane    SCREEN-NAME
  537.     ApplicationShell    EmacsShell    Paned    EmacsScreen
  538.  
  539. The Lucid Emacs sources have been largely merged with FSF version 19; this
  540. means that the lisp library contains the most recent releases of various
  541. packages, and many new features of FSF 19 have been incorporated.
  542.  
  543. Because of this, the lemacs sources should also be substantially more portable.
  544.  
  545.  
  546. Major Differences Between 19.4 and 19.6
  547. =======================================
  548.  
  549. There were almost no differences between versions 19.4 and 19.5; we fixed
  550. a few minor bugs and repacked 19.4 as 19.5 for a CD-ROM that we gave away
  551. as a trade show promotion.
  552.  
  553. The primary goal of the 19.6 release is stability, rather than improved
  554. functionality, so there aren't many user-visible changes.  The most notable
  555. changes are:
  556.  
  557.  - The -geometry command-line option now correctly overrides geometry
  558.    specifications in the resource database.
  559.  - The `width' and `height' screen-parameters work.
  560.  - Font-lock-mode considers the comment start and end characters to be
  561.    a part of the comment.
  562.  - The lhilit package has been removed.  Use font-lock-mode instead.
  563.  - vm-isearch has been fixed to work with isearch-mode.
  564.  - new versions of ispell and calendar.
  565.  - sccs.el has menus.
  566.  
  567. Lots of bugs were fixed, including the problem that lemacs occasionally
  568. grabbed the keyboard focus.
  569.  
  570. Also, as of Lucid Emacs 19.6 and Energize 2.0 (shipping now) it is possible
  571. to compile the public release of Lucid Emacs with support for Energize; so
  572. now Energize users will be able to build their own Energize-aware versions
  573. of lemacs, and will be able to use newer versions of lemacs as they are
  574. released to the net.  (Of course, this is not behavior covered by your
  575. Energize support contract; you do it at your own risk.)
  576.  
  577. I have not incorporated all portability patches that I have been sent since
  578. 19.4; I will try to get to them soon.  However, if you need to make any
  579. changes to lemacs to get it to compile on your system, it would be quite
  580. helpful if you would send me context diffs (diff -c) against version 19.6.
  581.  
  582.  
  583. Major Differences Between 19.3 and 19.4
  584. =======================================
  585.  
  586. Prototypes have been added for all functions.  Emacs compiles in the strict
  587. ANSI modes of lcc and gcc, so portability should be vastly improved.
  588.  
  589. Many many many many core leaks have been plugged, especially in screen 
  590. creation and deletion.
  591.  
  592. The float support reworked to be more portable and ANSI conformant.  This
  593. resulted in these new configuration parameters: HAVE_INVERSE_HYPERBOLIC, 
  594. HAVE_CBRT, HAVE_RINT, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL, 
  595. FLOAT_CHECK_DOMAIN.  Let us know if you had to change the defaults on your
  596. architecture.
  597.  
  598. The SunOS unexec has been rewritten, and now works with either static or 
  599. dynamic libraries, depending on whether -Bstatic or -Bdynamic were specified
  600. at link-time.
  601.  
  602. Small (character-sized) bitmaps can be mixed in with buffer text via the new
  603. functions set-extent-begin-glyph and set-extent-end-glyph.  (This is actually
  604. a piece of functionality that Energize has been using for a while, but we've
  605. just gotten around to making it possible to use it without Energize.  See how
  606. nice we are?  Go buy our product.)
  607.  
  608. If compiled with Motif support, one can pop up dialog boxes from emacs lisp.
  609. We encourage someone to contribute Athena an version of this code; it
  610. shouldn't be much work.  
  611.  
  612. If dialog boxes are available, then y-or-n-p and yes-or-no-p use dialog boxes
  613. instead of the minibuffer if invoked as a result of a command that was 
  614. executed from a menu instead of from the keyboard.
  615.  
  616. Multiple screen support works better; check out doc of get-screen-for-buffer.
  617.  
  618. The default binding of backspace is the same as delete.  (C-h is still help.)
  619.  
  620. A middle click while the minibuffer is active does completion if you click on 
  621. a highlighted completion, otherwise it executes the global binding of button2.
  622.  
  623. New versions of Barry Warsaw's c++-mode and syntax.c.  Font-lock-mode works
  624. with C++ mode now.
  625.  
  626. The semantics of activate-menubar-hook has changed; the functions are called
  627. with no arguments now.
  628.  
  629. `truename' no longer hacks the automounter; use directory-abbrev-alist instead.
  630.  
  631. Most minibuffer handling has been reimplemented in emacs-lisp.
  632.  
  633. There is now a builtin minibuffer history mechanism which replaces gmhist.
  634.  
  635.  
  636. Major Differences Between 19.2 and 19.3
  637. =======================================
  638.  
  639. The ISO characters have correct case and syntax tables now, so the word-motion
  640. and case-converting commands work sensibly on them.
  641.  
  642. If you set ctl-arrow to an integer, you can control exactly which characters
  643. are printable.  (There will be a less crufty way to do this eventually.)
  644.  
  645. Menubars can now be buffer local; the function set-screen-menubar no longer
  646. exists.  Look at GNUS and VM for examples of how to do this, or read 
  647. menubar.el.
  648.  
  649. When emacs is reading from the minibuffer with completions, any completions
  650. which are visible on the screen will highlight when the mouse moves over them;
  651. clicking middle on a completion is the same as typing it at the minibuffer.
  652. Some implications of this:  The *Completions* buffer is always mousable.  If
  653. you're using the completion feature of find-tag, your source code will be
  654. mousable when you type M-.  Dired buffers will be mousable as soon as you 
  655. type ^X^F.  And so on.
  656.  
  657. The old isearch code has been replaced with a descendant of Dan LaLiberte's
  658. excellent isearch-mode; it is more customizable, and generally less bogus.
  659. You can search for "composed" characters.  There are new commands, too; see
  660. the doc for ^S, or the NEWS file.
  661.  
  662. A patched GNUS 3.14 is included.
  663.  
  664. The user's manual now documents Lucid Emacs 19.3.
  665.  
  666. A few more modes have mouse and menu support.
  667.  
  668. The startup code should be a little more robust, and give you more reasonable
  669. error messages when things aren't installed quite right (instead of the
  670. ubiquitous "cannot open DISPLAY"...)
  671.  
  672. Subdirectories of the lisp directory whose names begin with a hyphen or dot
  673. are not automatically added to the load-path, so you can use this to avoid
  674. accidentally inflicting experimental software on your users.
  675.  
  676. I've tried to incorporate all of the portability patches that were sent to
  677. me; I tried to solve some of the problems in different ways than the 
  678. patches did, so let me know if I missed something.
  679.  
  680. Some systems will need to define NEED_STRDUP, NEED_REALPATH, HAVE_DREM, or
  681. HAVE_REMAINDER in config.h.  Really this should be done in the appropriate
  682. s- or m- files, but I don't know which systems need these and which don't.
  683. If yours does, let me know which file it should be in.
  684.  
  685. Check out these new packages:
  686.  
  687. blink-paren.el:    causes the matching parenthesis to flash on and off whenever
  688.         the cursor is sitting on a paren-syntax character.
  689.  
  690. pending-del.el:    Certain commands implicitly delete the highlighted region:
  691.         Typing a character when there is a highlighted region replaces
  692.         that region with the typed character.
  693.  
  694. font-lock.el:    A code-highlighting package, driven off of syntax tables, so
  695.         that it understands block comments, strings, etc.  The 
  696.         insertion hook is used to fontify text as you type it in.
  697.  
  698. shell-font.el:    Displays your shell-buffer prompt in boldface.
  699.